package co.gov.medellin.ssti.sub.model.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import co.gov.medellin.ssti.sub.model.dao.ValidacionDAO;
import co.gov.medellin.ssti.sub.model.dao.exception.DAOException;
import co.gov.medellin.ssti.sub.model.service.ValidacionService;

@Service
public class ValidacionServiceImpl implements ValidacionService {
	@Autowired
	ValidacionDAO validacionDAOImpl;

	@Override
	public boolean validaUsu(String usu) {
		try {
			return validacionDAOImpl.validaUsu(usu);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	@Override
	public boolean validaActProg() {
		try {
			return validacionDAOImpl.validaActProg();
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	@Override
	public boolean validaActSub() {
		try {
			return validacionDAOImpl.validaActSub();
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	@Override
	public boolean validaSubprg(String subprog) {
		try {
			return validacionDAOImpl.validaSubprg(subprog);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	@Override
	public boolean validaProg(String prog) {
		try {
			return validacionDAOImpl.validaProg(prog);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	@Override
	public boolean validaSede(String sede) {
		try {
			return validacionDAOImpl.validaSede(sede);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	@Override
	public boolean validaUsuAdmin(String usu) {
		try {
			return validacionDAOImpl.validaUsuAdmin(usu);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	@Override
	public boolean validaDias(String fecha1, String fecha2, String strDias) {
		String strfecha1[] = fecha1.split("-");
		String strfecha2[] = fecha2.split("-");

		int anos = (Integer.valueOf(strfecha1[0]).intValue() - Integer.valueOf(
				strfecha2[0]).intValue()) * 365;
		int meses = (Integer.valueOf(strfecha1[1]).intValue() - Integer
				.valueOf(strfecha2[1]).intValue()) * 365;
		int dias = Integer.valueOf(strfecha1[2]).intValue()
				- Integer.valueOf(strfecha2[2]).intValue();

		int total = (anos + meses + dias) * (-1);
		int diasreut = Integer.parseInt(strDias.trim());

		if (diasreut <= total) {
			return true;
		} else {
			return false;
		}
	}

}
